package com.un.ebs.sale.domain;

import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (SaleDeliverNote)表实体类
 *
 * @author makejava
 * @since 2020-08-25 13:02:27
 */
@Data
@Component
@TableName("tb_sale_deliver_note")
@SuppressWarnings("serial")
public class SaleDeliverNote extends Model<SaleDeliverNote> {

    @TableId(value = "id", type = IdType.UUID)
    private String id;
    
                
    @DbField(name = "code",  length = 50 , precision = 0)
    private String code;
                
    @DbField(name = "customer_ent_id",  length = 40 , precision = 0)
    private String customerEntId;
                
    @DbField(name = "customer_ent_name",  length = 100 , precision = 0)
    private String customerEntName;
                
    @DbField(name = "linkman",  length = 20 , precision = 0)
    private String linkman;
                
    @DbField(name = "phone",  length = 20 , precision = 0)
    private String phone;
                
    @DbField(name = "deliver_add",  length = 200 , precision = 0)
    private String deliverAdd;
                
    @DbField(name = "deliver_date",  length = -1 , precision = 0)
    private Date deliverDate;
                
    @DbField(name = "deliver_type_dict",  length = 100 , precision = 0)
    private String deliverTypeDict;
                
    @DbField(name = "sale_contract_code",  length = 50 , precision = 0)
    private String saleContractCode;
                
    @DbField(name = "remark",  length = 1000 , precision = 0)
    private String remark;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_at",  length = 40 , precision = 0)
    private String createAt;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_at_name", length = 100, precision = 0)
    private String createAtName;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_time", length = -1, precision = 0)
    private Date createTime;

    @DbField(name = "submit_status", length = -1, precision = 0)
    private Boolean submitStatus;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @DbField(name = "submit_time", length = -1, precision = 0)
    private Date submitTime;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @DbField(name = "submit_at", length = 40, precision = 0)
    private String submitAt;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @DbField(name = "submit_at_name", length = 100, precision = 0)
    private String submitAtName;

    @TableLogic
    @DbField(name = "is_delete", length = -1, precision = 0)
    private Boolean isDelete;

    @DbField(name = "tenant_id", length = 40, precision = 0)
    private String tenantId;
                
    @DbField(name = "purchase_order_code",  length = 50 , precision = 0)
    private String purchaseOrderCode;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    
}